package com.woniuxy.jdkproxy;

import com.woniuxy.staticproxy.DiGer;
import com.woniuxy.staticproxy.Tailo;
import com.woniuxy.staticproxy.UtraMan;
import com.woniuxy.staticproxy.UtraManImpl;

/**
 * @Author: 马宇航
 * @Todo: 测试JDK动态代理的方法，现在的代理对象，是动态产生的，由于传入的对象改变而动态改变
 * @DateTime: 22/03/28/0028 上午 11:33
 * @Component: 成都蜗牛学苑
 **/
public class TestJDKProxyDemo {
    public static void main(String[] args) {
        //目标对象
        UtraMan utraMan = new Tailo();
        //jdk代理对象工厂
        JdkProxyFactory jdkProxyFactory = new JdkProxyFactory();
        //代理对象工厂 重新生成的一个 已经封装好的代理对象
        UtraMan utraMan1 = (UtraMan) jdkProxyFactory.createProxyObject(utraMan);
        //新的代理对象执行方法
        utraMan1.hit();
        System.out.println("战斗结束");
    }

}
